package com.mc.sort;

import com.mc.general.Tools;

public class InsertSort {
	public static <T extends Comparable<T>> void sort(T[] array){
		int n = array.length;
		for(int i=1;i<n;i++){
			for(int j=i;j>0&&Tools.compare(array[j], array[j-1])==-1;j--){
				Tools.exchange(j, j-1, array);
			}
		}
	}
	public static void sortInt(int[] a){
		for(int i =1;i<a.length;i++){
			for(int j=i;j>0&&a[j]<a[j-1];j--){
				int temp = a[j-1];
				a[j-1] = a[j];
				a[j] = temp;
			}
		}
	}
	
	public static void main(String[] args) {
		int[] a = {2,4,5,1,2};
		InsertSort.sortInt(a);
		for(int i:a){
			System.out.println(i);
		}
	}
}
